'''
Created on 24/10/2011

@author: Daniel
'''

from Pessoa import *
import tkMessageBox

class Aluno(Pessoa):
    def __init__(self):
        self.serie = None
        self.turno = None
        self.periodo = None
        self.email_pais = None
        self.matricula = None

    def set_serie(self, nova_serie):
        self.serie = nova_serie
    def set_turno(self, novo_turno):
        self.turno = novo_turno
    def set_periodo(self, novo_periodo):
        self.periodo = novo_periodo
    def set_email_pais(self, novo_email_pais):
        self.email_pais = novo_email_pais
    def set_matricula(self, nova_matricula):
        self.matricula = nova_matricula

    def get_serie(self):
        return self.serie
    def get_turno(self):
        return self.turno
    def get_periodo(self):
        return self.periodo
    def get_email_pais(self):
        return self.email_pais
    def get_matricula(self):
        return self.matricula
    
    def valido(self):
        #Verifica se a matricula e valida          
        try:
            self.matricula_inteiro = int(self.matricula)
            if len(self.matricula) > 11 or len(self.matricula) < 4:
                tkMessageBox.showwarning('Mensagem do sistema', 'Matricula invalida, o campo Matricula deve conter entre 4 e 11 caracteres.')
                self.ctrl_matricula = False
            else:
                self.ctrl_matricula = True
        except:
            tkMessageBox.showwarning('Mensagem do sistema', 'Matricula invalida, apenas numeros sao permitidos nesse campo.')
            self.ctrl_matricula = False
        
        #Verifica se o email e valido
        self.ctrl_email_aluno = False
        for letra in self.email:
            if letra == '@':
                self.ctrl_email_aluno = True
                break
        if self.ctrl_email_aluno:
            pass
        else:
            tkMessageBox.showwarning('Mensagem do sistema', 'A expressao "' + self.email + \
                                     '"aparenta nao ser um endereco de e-mail valido, corrija e tente novamente.')

        #verifica se o email dos pais e valido
        self.ctrl_email_pais = False
        for letra in self.email_pais:
            if letra == '@':
                self.ctrl_email_pais = True
                break
        if self.ctrl_email_pais:
            pass
        else:
            tkMessageBox.showwarning('Mensagem do sistema', 'A expressao "' + self.email_pais + \
                                     '"aparenta nao ser um endereco de e-mail valido, corrija e tente novamente.')
       
        
        #Se todas as informacoes estiverem validadas a funcao retorna verdadeiro, caso contrario retorna falso
        if self.endereco.valido() and self.ctrl_matricula and self.ctrl_email_aluno and self.ctrl_email_pais:
            return True
        else:
            return False
                    
